#ifndef SPHERE_H
#define SPHERE_H

#include "vector3d.h"
#include <vector>
#include "particle.h"
#include "object.h"

class Sphere : public Object{
	public:
		Sphere();
		Sphere(unsigned int, const Color &, double, double, double, const Vector3D &);
		~Sphere();

		unsigned int getType() const {return SPHERE;};

		const Vector3D &getCenter() const;
		void setCenter(const Vector3D &);

		const double &getRadius() const;
		void setRadius(double);

		void draw(bool, bool) const;
		double intersection (const Vector3D&) const;
		double distance(const Vector3D&) const;
		Vector3D getNormalAt(const Vector3D &) const;

	private:
		double radius;
		Vector3D center;
};

#endif
